#!/bin/bash

# MySQL数据库单表文档生成示例 - 设置脚本 (Linux/Mac)
# 此脚本帮助您快速设置示例环境

# 颜色定义
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[0;33m'
BLUE='\033[0;34m'
NC='\033[0m' # 无颜色

# 显示欢迎信息
echo -e "${BLUE}======================================================${NC}"
echo -e "${GREEN}金牛座API文档与类型生成工具 - MySQL示例设置脚本${NC}"
echo -e "${BLUE}======================================================${NC}"
echo ""

# 创建目录结构
echo -e "${YELLOW}正在创建目录结构...${NC}"
mkdir -p output/tables
mkdir -p output/types
mkdir -p output/diagrams
mkdir -p my-templates/markdown
mkdir -p my-templates/typescript
mkdir -p .cache
echo -e "${GREEN}目录结构创建完成！${NC}"
echo ""

# 复制配置文件
echo -e "${YELLOW}正在复制配置文件...${NC}"
cp setup/mysql-config.example.js mysql-config.js
echo -e "${GREEN}配置文件复制完成！${NC}"
echo ""

# 安装依赖
echo -e "${YELLOW}是否要安装金牛座工具依赖？(y/n)${NC}"
read -p "选择: " install_deps

if [ "$install_deps" = "y" ] || [ "$install_deps" = "Y" ]; then
  echo -e "${YELLOW}正在安装依赖...${NC}"
  npm install --no-fund --no-audit
  echo -e "${GREEN}依赖安装完成！${NC}"
else
  echo -e "${YELLOW}跳过依赖安装。${NC}"
fi
echo ""

# 提示配置MySQL
echo -e "${YELLOW}请编辑 mysql-config.js 文件，配置您的MySQL连接信息。${NC}"
echo -e "${YELLOW}或者使用内置的示例数据（无需数据库）。${NC}"
echo ""

# 询问是否导入示例数据
echo -e "${YELLOW}是否要导入示例数据到MySQL数据库？(y/n)${NC}"
echo -e "${YELLOW}注意：这将创建一个名为'ecommerce_sample'的数据库。${NC}"
read -p "选择: " import_data

if [ "$import_data" = "y" ] || [ "$import_data" = "Y" ]; then
  echo -e "${YELLOW}请输入MySQL root密码:${NC}"
  read -s mysql_password
  
  echo -e "${YELLOW}正在导入示例数据...${NC}"
  # 使用提供的密码导入数据
  mysql -u root -p"$mysql_password" < setup/create-sample-db.sql
  
  if [ $? -eq 0 ]; then
    echo -e "${GREEN}示例数据导入成功！${NC}"
  else
    echo -e "${RED}示例数据导入失败。请检查MySQL连接和密码。${NC}"
    echo -e "${YELLOW}您仍然可以使用内置的示例数据（无需数据库）。${NC}"
  fi
else
  echo -e "${YELLOW}跳过导入示例数据。${NC}"
  echo -e "${YELLOW}您可以稍后手动导入，或者使用内置的示例数据。${NC}"
fi
echo ""

# 显示后续步骤
echo -e "${BLUE}======================================================${NC}"
echo -e "${GREEN}设置完成！后续步骤：${NC}"
echo -e "${BLUE}======================================================${NC}"
echo ""
echo -e "1. 编辑 ${YELLOW}mysql-config.js${NC} 文件配置数据库连接（如需）"
echo -e "2. 运行命令生成文档："
echo -e "   ${YELLOW}jn-auto all --config=mysql-config.js${NC}"
echo -e ""
echo -e "3. 查看生成的文档和类型："
echo -e "   ${YELLOW}ls -la output/tables${NC}"
echo -e "   ${YELLOW}ls -la output/types${NC}"
echo -e ""
echo -e "如需帮助，请参考README.md文件或访问："
echo -e "${BLUE}https://taurus-team.github.io/api-docs-generator/guide/${NC}"
echo ""
echo -e "${GREEN}感谢使用金牛座API文档与类型生成工具！${NC}"
echo -e "${BLUE}======================================================${NC}" 